<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // // 案例
        // // 映射关系
        // const cityInfo = {
        //     渝: '重庆',
        //     川: '四川',
        //     黑: '黑龙江',
        //     吉: '吉林',
        //     辽: '辽宁',
        // };

        // // 数据
        // const data = [
        //     '渝A 188888',
        //     '渝B 666888',
        //     '黑A 666888',
        //     '川A 666888',
        //     '辽C 666888',
        //     '吉A 666812',
        //     '黑C 666888',
        //     '渝A 777777',
        // ];

        // // 期待得到的结果
        // const expect = [
        //     {
        //         province: '重庆',
        //         id: 188888,
        //     },
        //     {
        //         province: '重庆',
        //         id: 666888,
        //     },
        //     {
        //         province: '黑龙江',
        //         id: 666888,
        //     },
        //     {
        //         province: '四川',
        //         id: 666888,
        //     },
        //     {
        //         province: '辽宁',
        //         id: 666888,
        //     },
        //     {
        //         province: '吉林',
        //         id: 666812,
        //     },
        //     {
        //         province: '黑龙江',
        //         id: 666888,
        //     },
        //     {
        //         province: '重庆',
        //         id: 777777,
        //     },
        // ];

        // const res = data.map((item) => {
        //     const tmpArr = item.split(' ');
        //     return {
        //         province: cityInfo[item[0]],
        //         id: Number(tmpArr[1]),
        //     }
        // })
        // console.log(res);

        // const numStr = '渝A 188888';

        // const provinceInfo = [
        //     {
        //         short: '渝',
        //         province: '重庆',
        //         cities: [
        //             {
        //                 code: 'A',
        //                 name: '渝中区',
        //             },
        //             {
        //                 code: 'B',
        //                 name: '渝北区',
        //             },
        //             {
        //                 code: 'C',
        //                 name: '沙坪坝区',
        //             },
        //             {
        //                 code: 'D',
        //                 name: '巴南区',
        //             },
        //         ],
        //     },
        //     {
        //         short: '川',
        //         province: '四川',
        //         cities: [
        //             {
        //                 code: 'A',
        //                 name: '成都',
        //             },
        //             {
        //                 code: 'B',
        //                 name: '绵阳',
        //             },
        //             {
        //                 code: 'C',
        //                 name: '泸州',
        //             },
        //             {
        //                 code: 'D',
        //                 name: '宜宾',
        //             },
        //         ],
        //     },
        // ];

        // // 期待
        // const expect = {
        //     province: '重庆',
        //     city: '渝中区',
        //     id: '188888',
        // };

        function getCarInfo(carNum) {
            const shortProvinceName = carNum[0]; // '渝'
            const cityCode = carNum[1]; // 'A'
            const id = carNum.split(' ')[1]; // '188888'
            // 在省数组中找到省信息
            const mapping = provinceInfo.find((item) => item.short === shortProvinceName);
            // 在当前省的城市数组中找到城市信息
            const cityMapping = mapping.cities.find((city) => city.code === cityCode);
            const res = {
                province: mapping.province,
                city: cityMapping.name,
                // id: id,
                id, // es6
            };
            return res;
        }

        // 案例
        const data = [
            '渝A 188888',
            '川B 666888',
            '川A 666888',
            '渝D 777777',
        ];

        const provinceInfo = [
            {
                short: '渝',
                province: '重庆',
                cities: [
                    {
                        code: 'A',
                        name: '渝中区',
                    },
                    {
                        code: 'B',
                        name: '渝北区',
                    },
                    {
                        code: 'C',
                        name: '沙坪坝区',
                    },
                    {
                        code: 'D',
                        name: '巴南区',
                    },
                ],
            },
            {
                short: '川',
                province: '四川',
                cities: [
                    {
                        code: 'A',
                        name: '成都',
                    },
                    {
                        code: 'B',
                        name: '绵阳',
                    },
                    {
                        code: 'C',
                        name: '泸州',
                    },
                    {
                        code: 'D',
                        name: '宜宾',
                    },
                ],
            },
        ];

        const expect = [
            {
                province: '重庆',
                city: '渝中区',
                id: '188888',
            },
            {
                province: '四川',
                city: '绵阳',
                id: '666888',
            },
            {
                province: '四川',
                city: '成都',
                id: '666888',
            },
            {
                province: '重庆',
                city: '巴南区',
                id: '777777',
            },
        ];


        const res = data.map((item) => getCarInfo(item)) ;
        console.log(res);
    </script>
</body>

</html>